// var bar = {
//     myName: 'iverson',
//     printName: function () {
//         console.log(this.myName)
//     }
// }
// function foo() {
//     let myName = "kobe"
//     return bar.printName
// }

// var myName = '胖子'
// let _printName = foo()
// _printName()
// bar.printName()


// function foo() {
//     console.log(this.a)
// }

// foo()
// let a = 1

// var obj = {
//     a: 2,
//     foo: foo
// }
// obj.foo()

// var c = new foo()
// c.a = 3

// function Person(name){
//     this.name = name
// }
// let p = new Person('iverson')

// new 机制：
// 1. 创建一个this对象
// {

// }
// 2. 将构造函数的属性进行赋值
// {
//     name:name
// }
// 3.
// let this = {
//     name:name
// }
// this.__proto__ = Person.prototype
// return this


// 所以才会有 p.__proto === Person.prototype

var a = 1
const fn = () => {
    console.log(this.a)
}
const obj = {
    fn: fn,
    a: 2
}
obj.fn()